home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <workbench/workbench.h>
- #include <workbench/startup.h>
- #include <exec/libraries.h>
-
- #include <clib/icon_protos.h>
- #include <clib/exec_protos.h>
- #include <clib/wb_protos.h>
- void do_appicon(struct MsgPort *myport);
- extern struct Library *SysBase;
- extern struct Library *IconBase;
- struct Library *WorkBenchBase;
-
- struct DiskObject *dobj=NULL;
- struct AppIcon *appicon=NULL;
- struct Commands {
- UBYTE AcLvl[100],
- SerDevUnit;
- char SerDev[40],
- NEW_UserPW[15];
- long OpeningBaud;
- BYTE TaskPri;
- char ConfName[9][60],
- ConfLoc[9][60],
- BBSName[41],
- BBSLoc[41],
- SysopName[41];
- UBYTE PSAcLvl[6],
- PSRType[6],
- PSRatio[6];
- long PSDBytes[6],
- PSTime[6];
- char PSCnfAc[6][10],
- MInit[101],
- MReset[31],
- MRing[31],
- MAnswer[31],
- MC300[31],
- MC1200[31],
- MC2400[31],
- MC4800[31],
- MC9600[31],
- MC19200[31];
- short NumConf;
- char SysPass[31],
- RemotePass[31];
- USHORT BaudTimes[10];
- char Pad[18];
- };
- extern struct Commands *Cmds[];
- extern WORD ZIM[3];
- void do_appicon(struct MsgPort *myport)
- {
- char temp[100];
- static int i=0;
- static int j=0;
- sprintf(temp,"%sStorage/Icons/Iconified",Cmds[0]->BBSLoc);
-
- if(!i)
- {
- sprintf(temp,"%sStorage/Icons/Iconified",Cmds[0]->BBSLoc);
- WorkBenchBase=OpenLibrary("workbench.library",0L);
- if(!(dobj=GetDiskObject(temp))) { dobj=GetDefDiskObject(WBDISK); j=1; }
- dobj->do_Type=NULL; dobj->do_CurrentX=ZIM[0];
- dobj->do_CurrentY=ZIM[1];
- dobj->do_Gadget.Flags=GFLG_GADGIMAGE;
- appicon=AddAppIconA(0L,0L,"",myport,NULL,dobj,NULL);
-
- i=1;
- }
- else
- {
- i=0;
- RemoveAppIcon(appicon);
- FreeDiskObject(dobj);
- CloseLibrary(WorkBenchBase);
- }
- }